Celem analizy tego zbioru danych było znalezienie możliwych przyczyn spadku rozmiaru śledzia oceanicznego wyławianego w Europie. Po przejrzeniu danych ze zbioru można zauważyć, że braki danych nie występują w kolumnach length, recr i cumf. Reszta kolumn powinna zawierać stałe dane dla danego połowu, wystarczyło więc pogrupować dane po połowach. Nie było to takie oczywiste, bo mimo chronologii danych, zdarzały się miejsca, gdzie dane z poszczególnych połowów się przeplatały. Konieczne było obliczenie numeru roku dla każdego połowu, a następnie grupowanie po nim, aby obliczyć średnią długość w danym roku.
Po wyznaczeniu korelacji między poszczególnymi atrybutami można zauważyć, że największą korelację do długości ma atrybut sst mówiący o temperaturze przy powierzchni wody. Korelacja ta jest ujemna, a więc wraz ze wzrostem temperatury maleje średnia długość śledzia. Dalej znaczącymi atrybutami wydają się być nao z ujemną korelacją i fbar z dodatnią czyli odpowiednio oscylacja północnoatlantycka i natężenie połowów w regionie.
Na podstawie analizy ważności atrybutów modelu regresji dostajemy podobne odpowiedzi. Czyli, że głównym czynnikiem wpływającym na długość śledzia jest sst. Na drugiej pozycji pojawia się recr oznaczający roczny narybek.
Na koniec, aby lepiej zauważyć te zależności narysowałem wykresy dla znormalizowanych atrybutów length i sst.
Jak widać na stworzonym wykresie w dużej mierze wzrostowi długości śledzia odpowiada zmniejszenie się sst. Można przypuszczać, że oddziaływanie zarówno sst działa na długość śledzia z pewnym opóźnieniem, stąd pewne nieścisłości w wykresie.
library(dplyr)
library(ggplot2)
library(gganimate)
library(corrplot)
library(caret)
library(mlbench)
library(randomForest)
library(Metrics)
set.seed(2137)
raw_data = read.csv(url("http://www.cs.put.poznan.pl/dbrzezinski/teaching/sphd/sledzie.csv"), na.strings = "?")
## [1] "X" "length" "cfin1" "cfin2" "chel1" "chel2" "lcop1" "lcop2"
## [9] "fbar" "recr" "cumf" "totaln" "sst" "sal" "xmonth" "nao"
## [1] 16
## [1] 52582
## [1] "Liczba niepustych wartości length"
## [1] 52582
## [1] "Liczba niepustych wartości recr"
## [1] 52582
## [1] "Liczba niepustych wartości cumf"
## [1] 52582
clean_data <- raw_data_year %>% mutate(
cfin1=data_by_year$cfin1[rok],
cfin2=data_by_year$cfin2[rok],
chel1=data_by_year$chel1[rok],
chel2=data_by_year$chel2[rok],
lcop1=data_by_year$lcop1[rok],
lcop2=data_by_year$lcop2[rok],
fbar=data_by_year$fbar[rok],
recr=data_by_year$recr[rok],
cumf=data_by_year$cumf[rok],
totaln=data_by_year$totaln[rok],
sst=data_by_year$sst[rok],
sal=data_by_year$sal[rok],
nao=data_by_year$nao[rok]
)
## [1] "Rozmiar danych po zgrupowaniu po miesiącach i latach"
## [1] 528
## [1] 17
## [1] 52582
## X length cfin1 cfin2
## Min. : 0 Min. :19.0 Min. : 0.0000 Min. : 0.0000
## 1st Qu.:13145 1st Qu.:24.0 1st Qu.: 0.0000 1st Qu.: 0.2778
## Median :26290 Median :25.5 Median : 0.1333 Median : 0.7012
## Mean :26290 Mean :25.3 Mean : 0.5564 Mean : 2.0297
## 3rd Qu.:39436 3rd Qu.:26.5 3rd Qu.: 0.3603 3rd Qu.: 1.7936
## Max. :52581 Max. :32.5 Max. :37.6667 Max. :19.3958
## chel1 chel2 lcop1 lcop2
## Min. : 0.000 Min. : 5.238 Min. : 0.3074 Min. : 7.849
## 1st Qu.: 2.469 1st Qu.:13.427 1st Qu.: 2.8102 1st Qu.:17.808
## Median : 4.327 Median :21.435 Median : 7.0000 Median :24.859
## Mean : 9.087 Mean :21.224 Mean : 11.6367 Mean :28.432
## 3rd Qu.:11.500 3rd Qu.:27.193 3rd Qu.: 12.4959 3rd Qu.:37.232
## Max. :75.000 Max. :57.706 Max. :115.5833 Max. :68.736
## fbar recr cumf totaln
## Min. :0.0680 Min. : 140515 Min. :0.06833 Min. : 144137
## 1st Qu.:0.2270 1st Qu.: 360061 1st Qu.:0.14809 1st Qu.: 306068
## Median :0.3320 Median : 421391 Median :0.23191 Median : 539558
## Mean :0.3304 Mean : 520366 Mean :0.22981 Mean : 515007
## 3rd Qu.:0.4560 3rd Qu.: 724151 3rd Qu.:0.29803 3rd Qu.: 730351
## Max. :0.8490 Max. :1565890 Max. :0.39801 Max. :1015595
## sst sal xmonth nao
## Min. :12.77 Min. :35.40 Min. : 1.000 Min. :-4.89000
## 1st Qu.:13.60 1st Qu.:35.51 1st Qu.: 5.000 1st Qu.:-1.89000
## Median :13.86 Median :35.51 Median : 8.000 Median : 0.20000
## Mean :13.87 Mean :35.51 Mean : 7.258 Mean :-0.08148
## 3rd Qu.:14.16 3rd Qu.:35.52 3rd Qu.: 9.000 3rd Qu.: 1.70000
## Max. :14.73 Max. :35.61 Max. :12.000 Max. : 5.08000
## rok
## Min. : 1.00
## 1st Qu.:10.00
## Median :19.00
## Mean :21.97
## 3rd Qu.:34.00
## Max. :52.00
## length cfin1 cfin2 chel1 chel2 lcop1
## length 1.00000000 0.062288931 0.097633000 0.198463309 -0.01470777 0.211597751
## cfin1 0.06228893 1.000000000 0.089828814 0.005204459 0.21070052 0.035357685
## cfin2 0.09763300 0.089828814 1.000000000 0.032108816 0.30639121 0.001069555
## chel1 0.19846331 0.005204459 0.032108816 1.000000000 0.33570690 0.961351396
## chel2 -0.01470777 0.210700516 0.306391211 0.335706897 1.00000000 0.229824824
## lcop1 0.21159775 0.035357685 0.001069555 0.961351396 0.22982482 1.000000000
## lcop2 fbar recr cumf totaln
## length 0.04865546 0.2543674 -0.0084518109 0.008372645 0.09640552
## cfin1 0.17793616 -0.2016668 0.0023623392 -0.201754791 0.23374102
## cfin2 0.65278054 0.1524730 -0.1007283899 0.336112804 -0.21528555
## chel1 0.30731613 0.1728284 -0.0982736790 0.105326705 0.08643993
## chel2 0.88595774 0.0261385 0.0006312851 0.262565869 -0.37565487
## lcop1 0.21604681 0.1085129 -0.0607442045 0.031309354 0.17468256
## sst sal xmonth nao
## length -0.451828201 0.03440361 0.010678033 -0.262642635
## cfin1 0.075009336 0.11403355 0.009522869 -0.076442362
## cfin2 -0.238421621 -0.08200241 0.013756275 -0.007919034
## chel1 -0.212143839 -0.20695273 0.047632402 -0.492407881
## chel2 0.009464675 -0.22299948 0.073381255 -0.058594025
## lcop1 -0.262277540 -0.16786296 0.024323413 -0.538312632
## Miara rmse: 1.196729
## Miara r^2: 0.4779853
varImp(fit, scale = FALSE)
## rf variable importance
##
## Overall
## sst 20779.7
## recr 5779.7
## cfin1 4985.0
## totaln 4761.4
## fbar 3807.1
## nao 2221.9
## lcop1 2144.9
## cfin2 1666.6
## cumf 1663.8
## sal 1354.8
## chel2 1346.5
## chel1 1100.3
## lcop2 721.4